What is @turf/centroid?
@turf/centroid is a module within the Turf.js library that calculates the centroid of a given GeoJSON feature. This is useful for finding the geometric center of various shapes such as polygons, lines, and multi-geometries.
What are @turf/centroid's main functionalities?
Calculate Centroid of a Polygon
This feature calculates the centroid of a polygon. The code sample demonstrates how to create a polygon and then calculate its centroid using the @turf/centroid package.
const turf = require('@turf/centroid');
const polygon = turf.polygon([[
[-81, 41],
[-81, 47],
[-72, 47],
[-72, 41],
[-81, 41]
]]);
const centroid = turf.centroid(polygon);
console.log(centroid);
Calculate Centroid of a LineString
This feature calculates the centroid of a LineString. The code sample demonstrates how to create a LineString and then calculate its centroid using the @turf/centroid package.
const turf = require('@turf/centroid');
const line = turf.lineString([
[-83, 30],
[-84, 36],
[-78, 41]
]);
const centroid = turf.centroid(line);
console.log(centroid);
Calculate Centroid of a MultiPolygon
This feature calculates the centroid of a MultiPolygon. The code sample demonstrates how to create a MultiPolygon and then calculate its centroid using the @turf/centroid package.
const turf = require('@turf/centroid');
const multiPolygon = turf.multiPolygon([[
[[-81, 41], [-81, 47], [-72, 47], [-72, 41], [-81, 41]]
], [
[[-73, 39], [-73, 45], [-64, 45], [-64, 39], [-73, 39]]
]]);
const centroid = turf.centroid(multiPolygon);
console.log(centroid);
Other packages similar to @turf/centroid
geolib
Geolib is a library for geospatial calculations. It provides functions to calculate distances, areas, and other geometric properties. While it offers centroid calculations, it is more general-purpose compared to @turf/centroid, which is specifically designed for GeoJSON features.
jsts
JSTS (JavaScript Topology Suite) is a library for performing various geometric operations. It includes functions for calculating centroids, but it is more complex and offers a broader range of geometric operations compared to @turf/centroid.
@turf/centroid
centroid
Computes the centroid as the mean of all vertices within the object.
Parameters
Examples
var polygon = turf.polygon([[[-81, 41], [-88, 36], [-84, 31], [-80, 33], [-77, 39], [-81, 41]]]);
var centroid = turf.centroid(polygon);
var addToMap = [polygon, centroid]
Returns Feature<Point> the centroid of the input object
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Installation
Install this single module individually:
$ npm install @turf/centroid
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf